<?php
/**
 * 记事本模型
 * 
 * @package ews
 * @ews Enterprise WorkShop
 * @version 1.0 alpha
 * @since 2011-06-01
 * @author chenyan
 */

class notepadModel extends model
{
	/**************************************************************************
	 * 返回 值说明
	 * 1.返回的数组（theme）说明
	 * 	notepad_id	int		记事本ID
	 *  user_id 	int		所属用户ID
	 *  subject    	string	标题
	 *  message    	string	内容
	 * 
	 * 
	 * 
	 * 2.若返回值为操作是否成功	1：成功      0或则负数：失败
	 **************************************************************************/
	
	
	
	/**
	 * 添加记事本	
	 * @param int 	 $user_id		用户ID
	 * @param string $subject		标题
	 * @param string $message		内容
	 * 
	 * @return int	新插入记录ID
	 */
	public function add($user_id,$subject,$message){
		$data = array('user_id'=>$user_id,'subject'=>$subject,'message'=>$message,'mktime'=>time());
		$id = DB::insert('notepad', $data);
		return $id;
	}
	
	/**
	 * 根据记录ID删除数据
	 * @param int $notepad_id	记事本ID
	 * 
	 * @return  int				1:成功  0:失败
	 */
	public function delete($notepad_id){
		$condition = "notepad_id=$notepad_id";
		$row = DB::delete('notepad',$condition);
		if($row>0) return 1;
		else return 0;
	}
	
	/**
	 * 修改记事本
	 * @param int 	 $notepad_id	记事本ID
	 * @param int	 $user_id		用户ID
	 * @param string $subject		标题
	 * @param string $message		内容
	 * 
	 * @return  int				1:成功  0:失败
	 */
	public function modify($notepad_id,$user_id,$subject,$message){
		$data = array('user_id'=>$user_id,'subject'=>$subject,'message'=>$message);
		$condition = "notepad_id=$notepad_id";
		$row = DB::update('notepad',$data,$condition);
		if($row>0) return 1;
		else return 0;
	}
	
	/**
	 * 根据记事本ID 获取记事本信息
	 * @param int $notepad_id 记事本ID
	 * 
	 * @return 一维数组
	 */
	public function get_notepad_by_notepad_id($notepad_id){
		$row = DB::fetchOne("SELECT * FROM ".DB::table('notepad')." WHERE notepad_id = $notepad_id");
		if(count($row) == 0){
			return array();
		}
		return $row;
	}
	
	/**
	 * 根据用户ID分页获取其记事本
	 * @param int $user_id		用户ID
	 * @param int $pagesize		每页大小
	 * @param int $pagenum		页号
	 * 
	 * @return 二维数组
	 */
	public function get_notepads_by_user_id($user_id,$pagesize,$pagenum){
		if($pagesize<=0 || $pagenum<=0) return array();
		$row = DB::fetchOne("SELECT count(*) as num FROM ".DB::table('notepad')." WHERE user_id=$user_id");
		$totalcount = $row['num'];
		if($totalcount==0) return array();
		//分页获取
		$totalpage = ceil($totalcount / $pagesize);
		$pagenum = min($totalpage, $pagenum);
		$limitstart = ($pagenum-1)*$pagesize;
		$r = DB::fetchArray("SELECT * FROM ".DB::table('notepad')." WHERE user_id=$user_id "." limit $limitstart,$pagesize");
		return $r;
	}
	
	/**
	 * 根据用户ID获取其记事本数量（按创建时间倒序拍）
	 * @param int $user_id		用户ID
	 * @param int $pagesize		每页大小
	 * @param int $pagenum		页号
	 * 
	 * @return 二维数组
	 */
	public function get_new_notepads_by_user_id($user_id,$pagesize,$pagenum){
		if($pagesize<=0 || $pagenum<=0) return array();
		$row = DB::fetchOne("SELECT count(*) as num FROM ".DB::table('notepad')." WHERE user_id=$user_id");
		$totalcount = $row['num'];
		if($totalcount==0) return array();
		//分页获取
		$totalpage = ceil($totalcount / $pagesize);
		$pagenum = min($totalpage, $pagenum);
		$limitstart = ($pagenum-1)*$pagesize;
		$r = DB::fetchArray("SELECT * FROM ".DB::table('notepad')." WHERE user_id = $user_id "." order by mktime desc limit $limitstart,$pagesize");
		return $r;
	}
	
	/**
	 * 根据用户ID获取其记事本数量
	 * @param int $user_id	用户ID
	 * 
	 * @return int
	 */
	public function get_notepad_count_by_user_id($user_id){
		$row = DB::fetchOne("SELECT count(*) as num FROM ".DB::table('notepad')." WHERE user_id=$user_id");
		return $row['num'];
	}
	
	/*********************************************待实现方法*********************************************/
	/**内容解析并转移*/
}
?>